package tiers2;

import java.rmi.AccessException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

import javax.jws.WebMethod;
import javax.jws.WebService;

import tiers3.services.IServicePersistance;
import common.Utilisateur;

@WebService
public class ServiceMetier {
	@WebMethod
	public boolean creerCompte(String nom, String prenom, String email,
			String login, String mdp) throws AccessException, RemoteException,
			NotBoundException {
		Utilisateur utilisateur = new Utilisateur(nom, prenom, email, login,
				mdp);
		getServicePersistance().creerUtilisateur(utilisateur);
		return true;
	}

	@WebMethod
	public boolean authentifier(String login, String mdp) {
		return true;
	}

	@WebMethod
	public boolean deconnecter() {
		return true;
	}

	@WebMethod
	public void listerUtilisateurs() throws AccessException, RemoteException,
			NotBoundException {
		getServicePersistance().rechercherTousUtilisateurs();
	}
/*
	@WebMethod
	public boolean abonner(Utilisateur utilisateur, Utilisateur abonne) {
		return true;
	}

	@WebMethod
	
	public boolean desabonner(Utilisateur utilisateur, Utilisateur abonne) {
		return true;
	}*/

	@WebMethod
	public boolean listerTweetsDesUtilisateursSuivis(Integer idUtilisateur) {
		return true;
	}

	@WebMethod
	public boolean envoyerTweet(Integer idUtilisateur, String messagePassionnant) {
		return true;
	}

	@WebMethod
	public boolean afficherProfil() {
		return true;
	}

	private IServicePersistance getServicePersistance() throws AccessException,
			RemoteException, NotBoundException {
		Registry registry = LocateRegistry.getRegistry("127.0.0.1", 2001);
		IServicePersistance service;
		service = (IServicePersistance) registry.lookup("ServicePersistance");
		return service;
	}
}
